[정처기]소프트웨어 개발 보안 구축(1)

Inung_92·2023년 7월 10일
1

정처기

목록 보기
6/7
post-thumbnail

소프트웨어 개발 보안 설계

⚡️ SW 개발 보안의 개념

📖보안 취약점 제거 등 개발 과정에서 지켜야 할 일련의 보안 활동

⚡️ SW 개발 보안의 구성요소

  • 3대 요소

    📖기밀성 / 무결성 / 가용성

    • 기밀성(Confidentiality) : 정보 공개, 노출 차단 / 인가된 사용자만 자원 접근 가능
    • 무결성(Integrity) : 정당한 방법 외 데이터 변경 불가 / 전송중인 정보는 수정 불가
    • 가용성(Availability) : 원하는 서비스 지속사용 보장 / 권한 범위 내 언제든 자원 접근 가능
  • 보안 용어
    • 자산(Assets) : 서버 하드웨어 / 기업 중요 데이터
    • 위협(Threat) : 해킹 / 삭제 / 자산의 불법적 유출 등
    • 취약점(Vulnerability) : 평문 전송 / 입력값 미검증
    • 위험(Risk) : 위협이 취약점을 이용 -> 자산피해 발생 가능성

⚡️ SW 개발 보안을 위한 공격기법 이해

🖥️ Dos 공격

  • Dos 공격의 개념
    • 악의적 공격으로 시스템의 자원을 부족하게 만들어 의도된 용도로 사용하지 못하게 함.
    • 서버의 TCP 연결 소진 등
  • Dos 공격의 종류
    • SYN 플러딩 : TCP 프로토콜 구조적 문제 이용 / ACK 발송 x 계속 새로운 연결 요청
    • UDP 플러딩 : 대량의 UDP 패킷을 임의 포트번호로 전송 / 응답메시지 지속 생성 -> 자원고갈
    • 스머프/스머핑 : ICMP Echo 패킷 직접 브로드캐스팅 / 바운스 사이트
    • POD(죽음의 핑) : 아주 큰 ICMP 패킷 생성 / 단편화된 패킷 처리 / 버퍼 오버플로우 발생
    • 랜드 어택 : 루프 / 출발지와 목적지 IP 동일
    • 티어 드롭 : Fragment Offset 정보 중첩
    • 봉크 : 처음 패킷 번호와 이후 패킷 번호 동일 / 똑같은 번호
    • 보잉크 : 중간 패킷 시퀀스 번호 비정상적으로 전송

🖥️ DDos 공격

  • DDos 공격의 개념
    • 공격자를 분산 배치 -> 동시동작으로 특정 사이트 공격
    • 원격 공격 개시
  • DDos 공격 구성요소(HAMAD)
    • 핸들러(Handler) : 마스터 시스템 역할
    • 에이전트(Agent) : 직접 공격
    • 마스터(Master) : 에이전트 관리 / 공격자에게서 직접 명령 수령
    • 어택커(Attacker) : 해커의 컴퓨터
    • 데몬(Daemon) : 에이전트 시스템의 역할 수행
  • DDos 공격 도구
    • Trinoo : UDP flood 서비스 거부 공격 유발 / 복수 서버 및 클라이언트 구성
    • Tribe Flood Network : TCP SYN flood / ICMP echo / ICMP 브로드 캐스트 공격
    • Stacheldraht : Linux 및 Solaris 시스템용 멀웨어
  • DDos 공격의 대응 방안
    • 차단 정책 업데이트 / 좀비PC IP 확보 / 보안 솔루션 운영 / 홈페이지 보안관리 / 시스템 패치
  • DDos 공격의 종류
    • 대역폭 소진 공격(3~4계층)
      • UDP/ICMP Traffic Flooding
      • TCP Traffic Flooding
      • IP Flooding
    • 서비스(애플리케이션) 마비 공격(7계층)
      • HTTP Traffic Flooding
      • HTTP Header / Option Spoofing
      • Other L7 Service Flooding

🖥️ DRDos 공격

  • DRDos 공격의 개념
    • 다수의 반사 서버로 요청 정보를 전송
    • 출발지 IP를 공격대상 IP로 위조
  • DRDos 공격 절차 : 출발지 IP 변조 -> 공격 대상자 서버로 응답 -> 서비스 거부
  • DRDos 대응 방안
    • ISP가 직접 차단
    • Syn 출처 IP 조사 -> 블랙리스트 관리

🖥️ 세션 하이재킹

  • 세션 하이재킹의 개념 : 케빈 미트닉 / TCP의 세션 관리 취약점 이용
  • 세션 하이재킹의 특징
    • TCP Sequence Number의 보안상 취약점
    • 패킷을 스니핑 -> 강제적으로 비동기화 상태로 만듦 -> Client Sequence Number 이용 공격
    • ACK Storm 증가 / 네트워크 부하 증가
  • 세션 하이재킹 탐지방법
    • 비동기화 상태 탐지 / ACK 패킷 비율 모니터링

🖥️ 애플리케이션 공격

  • HTTP GET 플로딩 : Cache Controll Attack / Get 메세지 이용 과부하 유발
  • Slowloris(Slow HTTP Header Dos) : 헤더의 개행 문자열 대신 \r\n만 전송
  • RUDY Attack(Slow HTTP POST Dos) : 요청 헤더의 Content-Length를 비정상적으로 크게 설정 후 매우 소량만 전송
  • Slow Read Attack : TCP 윈도 크기를 낮게 설정하여 연결 유지
  • Hulk Dos : 웹 페이지 주소를 지속적 변경 / 다량 Get 요청 발생

🖥️ 네트워크 공격

  • 스니핑 : 데이터만 몰래 들여다보는 수동적 공격
  • 네트워크 스캐너/스니퍼 : 구성의 취약점 파악을 위해 취약점 탐색
  • 패스워드 크래킹
    • 사전 크래킹 : ID와 패스워드 가능성 단어를 파일로 생성 -> 파일 대입
    • 무차별 크래킹 : 사용될 수 있는 문자를 무작위로 패스워드 자리에 대입
    • 패스워드 하이브리드 공격 : 사전 + 무차별 크래킹
    • 레인보우 테이블 공격 : 해시 값을 미리 생성 / 해시 값 테이블 검색
  • IP 스푸핑 : 패킷 헤더를 인증된 호스트의 IP 주소로 위조
  • ARP 스푸핑 : MAC 주소 위조 / 나가는 패킷을 스니핑
  • ICMP Redirect 공격 : 3계층 / ICMP Redirect 메시지
  • 트로이 목마 : 겉보기엔 정상 -> 실행하면 악성코드

🖥️ 시스템 보안 위협

  • 버퍼 오버플로우 공격
    • 개념 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력 -> 프로세스 흐름 변경
    • 공격 유형
      • 스택 버퍼 오버플로우 : 지역변수나 Return Address / 복귀 주소 변경/ 임의 코드 실행
      • 힙 버퍼 오버플로우 : 인접한 메모리(Linked-list)의 데이터 삭제
    • 공격 대응 방안
      • 스택가드 활용 : 카나리 / 무결성 체크용 값
      • 스택쉴드 활용 : Global RET / 특수 스택에 저장
      • ASLR(Address Space Layout Randomization) : 주소 공간 배치를 난수화 / 리눅스
      • 안전한 함수 활용
  • 백도어
    • 개념 : 인증 절차 우회 기법 / 독자적 프로그램 또는 하드웨어
    • 탐지기법
      • 프로세스 및 열린 포트 확인
      • setuid 파일 검사
      • 백신 및 백도어 탐지 툴 활용
      • 무결성 검사
      • 로그 분석
  • 주요 시스템 보안 공격기법
    • 포맷 스트링 : 값을 검증하지 않고 입출력 함수 사용
    • 레이스 컨디션 : 둘 이상 프로세스 및 스레드 공유자원 동시 접근
    • 키로거 공격 : 키보드 움직임을 탐지
    • 루트킷 : 불법적인 해킹에 사용되는 불법 프로그램 모음

🖥️ 보안 관련 용어

  • 스피어피싱 : 특정 대상 선정 / 사용자 개인정보 탈취
  • 스미싱 : SMS + 피싱 / 문자메시지
  • 큐싱 : QR 코드 + 피싱 / 제로페이 확산
  • 봇넷 : 다수의 악성 컴퓨터들이 네트워크로 연결된 형태
  • APT 공격 : 특정 타깃 / 다양한 IT 기술 이용 / 취약점 분석
  • 공급망 공격 : 개발사 네트워크 침투 / 배포 서버 접근
  • 제로데이 공격 : 공격의 신속성 / 공표되기 전 악용
  • 웜 : 스스로 복제 / 독자적 실행
  • 악성 봇 : 스스로 실행되지 못함 / 해커의 명령에 의한 제어 / 좀비PC
  • 사이버 킬체인 : 록히드 마틴 / 7단계 프로세스별 공격 분석
  • 랜섬웨어 : 복호화 / 파일 인질 / 현금 및 비트코인
  • 이블 트윈 공격 : 무선 와이파이 / 무선 사용자 정보 탈취
  • 사회공학 : 심리와 행동 양식 이용 / 공격 및 도청
  • 트러스트존 : ARM사 개발 / 독립적 보안구역
  • 타이포스쿼팅 : URL 하이재킹 / 네티즌 실수 이용
profile
서핑하는 개발자🏄🏽

0개의 댓글