Skip to content

Latest commit

 

History

History
173 lines (124 loc) · 9.02 KB

2-6_TIL.md

File metadata and controls

173 lines (124 loc) · 9.02 KB

네트워크 보안


정보 보안의 3대 정의

  1. 기밀성
    • 인가되지 않은 사용자가 정보를 보지 못하게 하는 모든 작업
      • 암호와 작업
  2. 무결성
    • 정확하고 완전한 정보 유지에 필요한 모든 작업
      • 누군가가 정보를 고의로 훼손하거나 중간에 특정 이유로 변경이 가해졌을 때, 그것을 파악해 잘못된 정보가 전달되지 않도록 하는 것
  3. 가용성
    • 정보가 필요할 때, 접근을 허락하는 작업
      • 정보를 사용하고 싶을 때 사용할 수 없는 상황이 온다면 정보 보안에 실패한 것

네트워크 보안 주요 개념

트러스트 네트워크 외부로부터 보호받아야 할 네트워크
언트러스트 네트워크 신뢰할 수 없는 외부 네트워크

한 단계 나아가서 우리가 운영하는 내부 네트워크이지만, 신뢰할 수 없는 외부 사용자에게 개방해야하는 서비스 네트워크인 경우, DMZ 네트워크라고 부름

또한 네트워크 보안 분야는 트래픽의 방향과 용도에 따라 두 가지로 나눌 수 있다.

  1. 인터넷 시큐어 게이트웨이(Internet Secure Gateway)
    • 트러스트(또는 DMZ) 네트워크에서 언트러스트 네트워크로의 통신을 통제
    • 방화벽, SWG(Secure Web Gateway), 웹 필터(Web Filter), 애플리케이션 컨트롤(Application Control), 샌드박스(Sandbox)
    • 내부 사용자가 인터넷으로 통신할 때 보안을 제공, 통제하기 위해 사용
  2. 데이터 센터 시큐어 게이트웨이(Data Center Secure Gateway)
    • 언트러스트 네트워크에서 트러스트(또는 DMZ)로의 통신을 통제 ❓
    • 방화벽, IPS, DCSG(DataCenter Secure Gateway), WAF(Web Application Firewall), Anti-DDos

네트워크 보안 정책 수립에 따른 분류

  1. 화이트리스트
    • 방어에 문제가 없다고 명확히 판단되는 통신만 허용
    • 인터넷 전체에 화이트리스트를 만들기는 어려우므로 IP, 통신 정보에 대해 명확히 아는 경우에 많이 사용
  2. 블랙리스트
    • 공격이라고 명확히 판단되거나 문제가 있었던 IP 리스트나 패킷 리스트를 기반으로 데이터베이스를 만들고 그 정보를 이용해 방어
    • 네트워크 장비들은 기본적으로 블랙리스트 기반의 방어 기법 제공

보안 솔루션

일반 기업이나 정부/공공기관 등에서 보안을 강화하기 위해 실제 사용하는 상용 소프트웨어 혹은 하드웨어 제품

종류

  • 데이터 센터에서 보안 장비를 디자인할 때 여러 단계로 공격을 막도록 인라인 상에 여러 장비 배치

  • 모든 공격을 장비 한 대로는 방어할 수 없으므로 여러 장비의 기능으로 단계적으로 방어

    스크린샷 2025-02-06 오후 11.51.18.png

DDos

  • DDos 방어 장비의 주요 차단 방법은 프로파일링 기법
  • 평소 데이터 흐름과 다른 과도한 트래픽이 인입되면 알려주고 차단
  • 다른 방법은 데이터베이스 기반으로 방어
  • IP 평판 데이터베이스를 공유해 DDos 공격으로 사용된 IP 기반으로 방어 여부를 결정하거나 특정 공격 패턴을 방어

방화벽

  • 4계층에서 동작하는 패킷 필터링 장비
  • 3, 4계층 정보를 기반으로 정책을 세울 수 있고 해당 정책과 매치되는 패킷이 방화벽을 통과하면 그 패킷을 허용하거나 거부 가능
  • 일반적으로 방화벽은 DDos 방어 장비 바로 뒤에 놓음

방화벽의 동작 방식

  1. 장비에 패킷이 들어오면 세션 상태 테이블 확인
  2. 조건에 맞는 세션 정보가 테이블에 있을 때, 포워딩 테이블 확인(ARP, 라우팅 포함)
  3. 조건에 맞는 세션 정보가 테이블에 없을 때, 방화벽 정책 확인
  4. 방화벽 정책을 모두 확인하였으나 없을 경우 암시적인 거부 규칙을 참고해 차단
  5. 허용 규칙이 있으면 내용을 세션테이블에 적음
  6. 포워딩 테이블을 확인
  7. 포워딩 테이블에 조건에 맞는 정보가 존재할 경우 - 적절한 인터페이스로 패킷을 포워딩
  8. 조건에 맞는 정보가 없을 경우 - 패킷 폐기

VPN

IPV4의 대역 중 일부를 Private IP로 지정하여 가정, 기업, 기관 등 근거리 통신망(LAN)에서 사용하도록 한 것

동작 방식

  1. Host to Host 통신 보호
    • 두 호스트 간에 직접 VPN 터널을 연동하는 기법
    • 잘 사용하지 ❌
  2. Network to Network 통신 보호
    • 본사-지사 같은 특정 네트워크를 가진 두 종단을 연결하는 경우 → IPSEC 프로토콜 스택을 가장 많이 사용
  3. Host가 Network로 접근할 때 보호
    • 모바일 사용자가 일반 인터넷 망을 통해 사내 망으로 연결하는 경우 → IPSEC, SSL 프로토콜 사용

정보처리기사 필기 - 2과목


빌드 자동화 도구

  • 소스 코드를 소프트웨어로 변환하는 과정에 필요한 전처리, 컴파일 등의 작업을 수행하는 소프트웨어

| Ant (Another Neat Tool) | 자바 프로젝트의 공식적 자동화 도구 (XML 기반) 표준 없이 개발자가 모든 것 정의 / 스크립트 재사용 어려움 | | --- | --- | | Maven | Ant 대안 / 표준이 있어 예외 사항만 기록 컴파일과 빌드 동시에 수행 가능 / 의존성 설정 후 Library 관리 | | Gradle | Ant 및 Maven 보안 / 안드로이드 공식 개발 도구 (Groovy 기반) 의존성 활용 / 그루비 기반 / 빌드 캐시 기능 지원 → 속도 향상 실행할 명령을 모아 태스크로 만든 후 태스크 단위 실행 | | Jenkins | JAVA 기반 오픈 소스 형태 / 서블릿 컨테이너에서 실행 형상 도구 관리와 연동 가능 (SVN, Git) |

애플리케이션 테스트 기본 원리

  • 결함 집중 : 파레토(Pareto) 법칙 - 20%의 모듈에서 전체 결함 80% 발생
  • 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복 테스트는 새로운 버그 발견 ❌

애플리케이션 테스트 분류

  • 시각(관점) 기반

    | 검증 (Verification) | 개발자의 시각에서 제품의 생산 과정 테스트 Ex. 단위/통합/시스템 테스트 | | --- | --- | | 확인 (Validation) | 사용자의 시각에서 생산된 제품의 결과 테스트 Ex. 인수 테스트 (알파 / 베타) |

정렬 알고리즘

삽입 이미 정렬된 파일에 새로운 레코드를 순서에 맞게 삽입하여 정렬
선택 N개의 레코드 중 최소값을 찾아 첫번째에 배치, 나머지 N-1개 레코드 중 최소값 찾아 두번째 배치, 이를 반복하여 정렬
버블 인접한 두 개의 레코드 키 값 비교 후 크기에 따라 레코드 위치 교환
자료 이동 최소화 후 하나의 파일을 부분적으로 나눠가며 정렬
2-way 합병 이미 정렬된 2개의 파일을 한 개의 파일로 합병하여 정렬
입력 파일을 매개변수 값으로 서브파일 구성 후 각 서브파일을 삽입 정렬 방식으로 순서 배열하는 과정을 반복
완전 이진 트리를 이용한 정렬

화이트박스 테스트

  • 모듈 안의 내용을 직접 볼 수 있으며, 내부의 논리적인 모든 경로를 테스트
  • 소스 코드의 모든 문장을 한 번 이상 수행 / 논리적 경로 점검 (선택, 반복, 수행)
  • 테스트 데이터를 선택하기 위해 검증 기준 정함
  • → 기초 경로 검사 : 대표적 화이트박스 테스트 기법 (동적 테스트) / 사이클 최대 1번 측정 결과는 실행 경로의 기초를 정의하는 지침으로 사용
  • → 제어 구조 검사 : 조건 검사 / 루프 검사 / 자료 흐름 검사

블랙박스 테스트

  • 모듈 내부의 내용 알 수 없음 / 소프트웨어 인터페이스에서 실시되는 테스트
  • SW 각 기능이 완전히 작동되는 것을 입증하는 테스트로 ‘기능 테스트’라고 함
  • → 동치 분할 검사 / 경계값 분석 / 원인-효과 그래프 검사 / 비교 검사 / 오류 예측 검사

테스트 케이스

  • 입력값, 실행 조건, 기대 결과 등으로 구성

해싱함수 종류

중첩법 (폴딩법) 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR 한 값을 홈 주소로 사용하는 방식
제산법 레코드키로 해시표의 크기보다 큰 수 중에서 가장 작은 소수로 나눈 나머지를 홈 주소로 삼는 방식
기수변환법 키 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 높은 자릿수는 절단하고, 이를 다시 주소 범위에 맞게 조정하는 방식
숫자분석법 키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 선택해서 홈 주소로 삼는 방식