[TIL] 시큐어코딩

January 08, 2020에 게시됨.

1. 시큐어코딩이란?

보안 패러다임의 변화

  1. 감지 및 통신

    • 이종 기기 간 초연결로 감지/제어 대상의 무한 확장
  2. 모니터링

    • 분석 및 활용이 가능한 막대한 정보의 누적
  3. 통제

    • 침투, 방어 주체가 인간 -> 지능화 기기로 대체
  4. 하드웨어와 소프트웨어가 다양화
  5. 스마트폰, IOT등 초연결 사회가 도래하면서 하나의 보안 취약점이 연쇄적인 취약점이 됨
  6. 소프트웨어 하나의 흠결로 거대한 시스템의 백엔드가 해킹당할 수 있음 => 보안산업 가치 사슬

보안사고의 75% 이상이 애플리케이션 취약성이 원인

image-20200108091210913

시큐어 코딩

안전한 소프트웨어를 개발하기 위해 소스코드 등에 존재할 수 있는 잠재적인 보안약점을 제거하고,

보안을 고려하여 기능을 설계, 구현하는 등 소프트웨어 개발과정에서 실행되는 일련의 보안활동 수행이 요구됨

2. 사고사례기반 시큐어코딩의 필요성

  1. 농협 전산망 해킹 공격

    외주업체 직원이 웹하드에서 서버관리 업무에 쓰는 노트북에 영화를 내려받다가 감염되어 계정탈취

    서버 터미널까지 탈취 -> 메인 서버 셧다운.

    원상복구까지 2박 3일 소요

    => 관리보안, 물리보안이 부실했다 !

  2. SK컴즈 고객정보 유출

    중국 IP발 악성코드를 이용한 APT(Advanced Persistent Threat) 신종 해킹 피해

    알약 업데이트 서버가 감염되었고, 임직원들의 알약 업데이트 시 업무용.관리용 PC에 감염되어 서버 접근정보 획득

    인터넷과 업무망의 분리 필요.

    => 무결성 체크 과정 추가 필요

  3. KT 개인정보 유출 (파라미터 변조 취약점)

    제대로된 인증 없이 URL 단순 숫자패턴을 증가시키는 것만으로 남의 개인정보 열람가능

    => PAROS를 통해서 1200만명의 개인정보 탈취

  4. 인터파크 개인정보 유출

    • 과징금 체제가 도입되고 최초 유출 사례
  5. 웹 호스팅 업체 나야나 랜섬웨어 공격

    • 전세계를 휩쓴 랜섬웨어, 리눅스 서버를 대상으로 한 변종 에레버스 국내 웹호스팅업체 나야나 서버 153대 감염
    • 백업서버가 같은 망 안에 존재
    • 해커에게 13억 지급(비트코인)하여 복구

3. 보안취약점 진단 및 보안약점 제거

  • 최신 정보보호 동향

    • 크립토재킹(Cryptojacking)

    남의 디바이스를 탈취해서(jacking) 암호화폐 채굴에 사용

    • SQL Injection

    (1=1, union)

    • union

      1. 첫 select가 동작하는 테이블의 컬럼의 수를 뒤 select가 맞춰줘야 함
      2. 가져오는 데이터의 형식이 일치해야함

공유하기!