4 minute read

9 소포트웨어 개발 보안 구축

SW 개발 보안의 3대 요소

  • 기밀성(Confidentially) : 인가되지 않은 개인 혹은 시스템 접근에 따라 정보 공개 및 노출 차단
  • 무결성(Intergrity): 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없음
  • 가용성(Avaliability) : 권한을 가진 사용자는 원하는 서비스를 지속적으로 사용할 수 있음


SW 개발 보안 용어

  • 자산(Assets) : 소유자가 가치를 부연한 대상
  • 위협(Threat) : 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위
  • 취약점(Vulnerability) : 위협이 발생하기 위한 사전조건
  • 위험(Risk) : 자산 손실 피해 가져올 가능성


Dos 공격 : 시스템을 악의적으로 공격해 해당 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

종류

  • SYN 플러딩 : TCP프로토콜의 구조적인 문제 이용 공격
  • UDP 플러딩 : UDP패킷을 만들어 응답 메시지를 생성하여 자원고갈
  • 스머프,스머핑 : 직접 브로드 캐스팅하여 마비시키는 공격
  • 죽음의 핑 : ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하여 단편화 발생
  • 랜드 어택 : 출발지ip와 목적지ip를 같은 패킷 주소로 만들어 공격
  • 티어 드롭 : 재조합 과정에서 Fragment Offset 정보로 인해 문제 발생
  • 봉크,보잉크 : 프로토콜의 오류 제어를 이용한 공격


DDOS : 여러 대의 공격자를 분산 배치하엳 동시에 동작함으로써 특정 사이트를 공격하는 기법


DRDos : 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로 부터 다량의 응답을 받아 서비스 거부되는 공격


세션 하이재킹 : 케빈 미트닉이 사용했던, TCP세션관리 취약점을 이용한 공격기법


애플리케이션 공격기법

  • HTTP GET 플러딩 : 과도한 Get 메시지 이용
  • Slowloris : \r\n\만 전송
  • RUDY : Content-Length 를 비정상적으로 크게 설정
  • Slow HTTP READ : TCP 윈도 크기와 데이터 처리율을 감소시킨 상태
  • Hulk Dos : 웹 페이지 주소를 지속적으로 변경
  • Hash Dos : 해시테이블 주로 사용


네트워크 공격

  • 스니핑 : 직접 공격하지 않고 데이터만 몰래 들여다 보는 공격
  • 네트워크 스캐너 : 취약점 탐색
  • 패스워드 크래킹 : 사전,무차별,패스워드하이브리드,레인보우테이블
  • IP 스푸핑 : IP어드레스 위조
  • ARP 스푸핑 : MAC주소 위조
  • ICMP Redirect 공격 : 3계층에서 다른 라우터라고 알림으로써 흐름을 바꾸는 기법
  • 트로이 목마 : 겉보기엔 정상적 프로그램


버퍼 오버 플로우 : 버퍼 크기 초과하는 양 데이터 입력


포맷 스트릿 공격 : 포맷 스트링을 인자로 하는 함수 취약점 공격

레이스 컨디션 공격 : 실행되는 프로세스가 임시파일을 만드는경우

키로거 공격 : 키보드 움직임을 탐지

루트킷 : 불법적인 해킹에 사용되는 기능제공 프로그램 모음


보험 관련 용어

  • 스피어 피싱 : 사회 공학의 한 기법, 이메일 위장
  • 스미싱 : SMS공격기법
  • 큐싱 : 큐알코드, 피싱 공격 기법
  • 봇넷 : 다수의 컴퓨터들이 네트워크 연결
  • APT 공격 : 특정 타깃을 목표로 다양한 수단을 통한 지속적이고 지능적인 공격기법
  • 공급망 공격 : 개발사 네트워크 침투 공격
  • 제로데이 공격 : 취약점이 발견되기전 취약점 악용
  • 웜 : 스스로 복제
  • 악성 봇 : 스스로 실행되지 못하고, 해커의 명령에 의해 제어
  • 사이버 킬체인 : 록히드 마틴의 기법, APT 공격 방어
  • 랜섬웨어 : 파일 암호화 하여 돈 요구
  • 이블 트윈 공격 : 무선 와이파이 공격


접근 통제 기법

  • 식별(identification) : 자신이 누구라고 밝히는 행위
  • 인증(Authentication) : 주체의 신원을 검증하기 위한 행동
  • 인가(Authorization) : 접근 허용하는 활동
  • 책임추적성(Accountability) : 추적하고 행동 기록


접근 통제 유형

  • 임의적 접근 통제(DAC) : 신분에 의한 제한
  • 강제적 접근 통제(MAC) : 허용등급과 접근 정보에 대한 접근통제
  • 역할 기반 접근 통제(RBAC) : 역할에 기초하여 접근 제어


3A 구성

  • 인증(Authentication) : 신분 검증
  • 권한부여(Authorization) : 권한 서비스 허용
  • 계정관리(Accounting) : 정보 수집 관리


접근 통제 보호 모델

  • 벨-라파듈라 모델
    • no read up, no write down
  • 비바 모델
    • no read down, no write up


암호화 알고리즘

대칭키 알고리즘

  • DES : 1975년 IBMdptj roqkf
  • SEED : KISA에서 개발
  • AES : 2001년 NIST 개발
  • ARIA : 국정원, 산학연구협회 개발
  • IDEA : DES 대처
  • LFSR : 선형 되먹임 시프트 레지스터 일종


비대칭키 알고리즘

  • 디피-헬만 : 최초의 공개키 알고리즘
  • RSA : 1977년 MIT 교수
  • ECC : 타원 곡선 암호
  • ELGamal : 이산대수의 계산


해시 암호화 알고리즘

  • MD5 : MD4 개선
  • SHA-1 : 160비트 해시값
  • SHA-256/384/512 : SHA 알고리즘 한종류,256 비트
  • HAS-160 : 국내 표준 서명 알고리즘
  • HAVAL : 메시지를 1024bits 블록으로 나눔


IPSEC : 3계층에서 무결성과 인증을 보장하는 프로토콜

SSL/TLS : 4계층과 7계층 사이에서 암호화, 무결성 보장


Secure SDLC 모델 및 방법론

  • BSIMM : 미국 지원 소프트웨어 보증 프로젝트 결과물
  • Open SAMM : OWASP에서 개발한 개방형 보완 프레임워크
  • Seven TouchPolints : SDLC에 통합된 개발 보안 생명주기 방법론
  • MSSDL : 마이크로소프트에 적용
  • OWASP CLASP : 프로그램 설계 오류를 찾아내어 개선하기 위해 취약점 목록 제공


9-2 소프트웨어 개발 보안 구현

입력 데이터 검증 및 표현 취약점

  • XSS : 사용자가 해당 웹페이즈를 열람함으로써 부적절한 스크립트
  • CSRF : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위 요청
  • SQL삽입 : 악의적인 SQL 구문 삽입


네트워크 보안 솔루션

  • 방화벽 : 기업 내외부 접근 허용 차단
  • 웹 방화벽 : 웹 애플리케이션 보안에 특화된 보안장비
  • 네트워크 접근제어(NAC) : 네트워크 접속 제어
  • 침입탐지시스템(IDS) : 보안 정책 위반 탐지
  • 침입방지시스템(IPS) : 침입을 실시간 차단
  • 무선 침입 방지 시스템(WIPS) : 무선 공유기 탐지
  • 통합보안시스템(UTM) : 다양한 보안 장비 기능 하나의 장비로 통합
  • 가상사설망(VPN) : 암호화를 활용한 보안 솔루션


비즈니스 연속성 계획(BCP)

  • 각종 재해,재난으로부터 위기관리를 기반으로 비즈니스 연속성 보장하는 체계

  • BIA : 비즈니스 영향 분석
  • RTO : 다시 가동될때까지의 시간
  • RPO : 데이터 손실 허용 시점
  • DRP : 재난 복구 계획
  • DRS : 재해복구 센터


DRS 유형

  • Mirror site : 실시간 복구
  • Hot site : 4시간 이내
  • Warm site : 수일~ 수주
  • Cold site : 수주~ 수개월


보안 중요 용어

  • 부 채널 공격 : 부 채널에서 획득하는 공격 기법
  • 드라이브 바이 다운로드 : 악성 스크립트 설치하고 동의없이 실행되는 공격
  • 워터링 홀 : 잘 방문하는 웹사이트에 감염
  • 스캠공격 : 무역 거래 대금 가로채는 범죄
  • 하트 블리드 : 데이터 길이에 대한 검증
  • 크라임 웨어 : 금융정보 인증정보 탈취,유출
  • 토르 네트워크 : 익명으로 인터넷 사용
  • MITM 공격 : 통신내용 도청
  • DNS스푸핑 공격 : DNS응답 조작
  • 포트 스캐닝 : 포트 취약점
  • 디렉터리 리스팅 : 서버의 미흡한 설정
  • 리버스 쉘 공격 : 타깃 서버의 쉘을 획득 공격
  • 익스플로잇 : 하드웨어의 버그 취약점 이용
  • 스턱스넷 공격 : 독일 지멘스사 공격
  • 크리덴셜 스터핑 : 사용자 계정 탈취


공격 대응 관련 주요 용어

  • 허니팟 : 일부로 허술하게 만들어서 노출하는 시스템
  • OWASP TOP 10 : 10가지 취약점 대응 방안
  • 핑거프린팅 : 사용자 정보 삽입
  • 워터마킹 : 워터마크 추출
  • 이상금융거래탐지시스템 : 전자금융거래 방지 대책
  • CC : 정보보호기술 등급 평가
  • 사이버 위협정보 분석(C-TAS) : 자동화된 정보공유 침해 예방 대응
  • 장착형 인증 모듈(PAM) : 리눅스 시스템 인증용 라이브러리
  • CVE : 미국 비영리 회사에 보안취약점 표준화된 식별자
  • CWE : 소스 코드 취약점 정의 데이터 베이스

카테고리:

업데이트:

댓글남기기