2024 사이버 보안 위협 전망
① 피해 자체를 모르게 하는 은밀하고 지속적인 SW 공급망 공격
② 생성형 AI를 악용한 사이버 범죄 가능성 증가
③ OT/ICS 및 IoT 환경의 보안 위협 증가
④ 정치·사회적 이슈를 악용하는 사이버 위협 고조
국내외 SW 공급망 침해사고의 피해 규모
Solarwinds(2020): 러시아 기반 해킹 그룹의 공격으로 IT SW 공급사의 SW 개발환경 및 배포 시스템이 해킹되어 18,000개 이상의 기관이 피해를 입음
Codecov(2021): 컨테이너 이미지 보안취약점을 악용해 소스코드 검증을 위한 배포 환경의 인증 정보가 유출, 전 세계 2만 9천여 개 고객사에 영향을 끼침
Colonial Pipeline(2021): 송유관 관리사의 IT 시스템이 랜섬웨어에 감염되어 미국 남동부 8,900km 일대 공급이 중단, 지역 비상사태 선포와 약 50억 원의 랜섬머니(Ransom Money) 지급 발생
Log4Shell(2021): Log4j의 제로데이 보안취약점과 공개된 개념 증명 코드를 악용하여 악성코드를 심고, 전 세계 취약 서버를 대상으로 대량의 해킹 공격 발생
Kaseya(2022): 클라우드 기반 IT 원격 관리 솔루션 서버를 해킹하고, 업데이트 파일로 위장한 랜섬웨어를 고객사에 배포. 17개국 1,500여 조직이 피해
3CX(2022): 악성코드가 삽입된 X-트레이더 금융 SW를 다운받은 PC를 감염시켜 60만 명 이상의 고객과 1,200만 개 조직으로 전파
이니세이프(2023): 금융 보안인증 SW의 보안취약점을 악용해 PC 해킹 및 악성코드 유포로 국내 61개 기관, 총 207대의 기관, 기업, 개인 PC 해킹 피해
공개 SW에서 취약점이 있는 구성요소
주요 SW 공급망 공격 유형
① 공개 SW 보안취약점: 공개 SW에 취약한 코드 또는 유해한 구성요소가 포함되어 취약성이 공개 SW를 사용하는 모든 SW에 전파
② 타사 의존성: 공격자가 타사 SW(상용 SDK, 라이브러리 또는 컴포넌트)에 악성코드를 삽입하여 이를 악용하는 운영 시스템을 침해
③ 공용 리포지토리: 공개 SW 코드를 찾는 개발자를 목표로 GitHub 등 알려진 리포지토리 호스팅 서비스에 합법적인 SW 패키지와 유사한 이름을 가진 악성코드를 업로드
④ 변환 시스템: 개발 프로세스 자동화를 위한 CI/CD 상의 중요 코드, 리포지토리, 컨테이너 및 변환 서버를 침해하여 악성코드로 교체
⑤업데이트 가로채기: 공격자가 SW 업데이트 과정을 침해하거나 업데이트 서버의 관리 권한을 가로채어 악성코드를 삽입
⑥ 내부 리포지토리: 공격자가 기업 내부에서 사용 중인 코드 저장소에 침입하여 악성코드를 삽입
⑦ 공급사 및 협력사: SW 부품 또는 완제품 개발사, 공급사 등으로부터 외부 서비스를 제공받는 경우 관리되지 않는 타사 위험이 내부 시스템으로 전이
Quad 사이버보안 파트너십
① 높은 수준의 안전한 SW 개발체계 활동을 추구
② SW 제품의 정부 조달에 대해 최소 가이드라인 추구
③ 정부 SW 사용에 대한 보안 조치를 추구
다단계 전사적 위험관리(C-SCRM)
① 전사
이해관계자: 경영진, 역할: C-SCRM 활동에 대한 경영진의 감독을 확립
② 프로세스
이해관계자: 비즈니스 관리자, 역할: 기업의 미션과 비즈니스 프로세스 측면에서 공급망의 사이버보안 위험을 평가, 대응, 모니터링
③ 운영
이해관계자: 시스템 관리자, 역할: 개별 시스템 및 업무에 C-SCRM을 적용하고 운영 및 보고
SW 공급망 참여자에 따른 보안 활동
개발사를 위한 공급망 보안 권장 활동
① 안전한 제품 기준 및 관리
② 안전한 코드의 개발
③ 타사 구성요소 검증
④ 빌드 환경 보안 강화
⑤ 코드 배포 시 보안 강화
공급사를 위한 공급망 보안 권장 활동
① 조직 준비
② SW 보호
③ 보안성이 높은 SW 제작
④ 보안취약점 대응
운영사를 위한 공급망 보안 권장 활동
① 조달 및 인수
② 적용 (배포)
③ 제품 업그레이드
④ 제품 단종
⑤ 교육/지원
⑥ SW 운영
⑦ 보안 및 공급망 위험 관리 운영
SW 개발 생명주기(SDLC) 단계별 개념 정의
① 설계: 개발할 SW의 기능과 제약조건 등을 정의하고, 시스템이 무엇을 수행할지 기능을 정의 하여 논리적으로 결정하는 단계
② 개발: 설계 단계에서 논리적으로 결정한 해결 방법(알고리즘)을 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
③ 시험: 개발한 시스템이 요구사항을 만족하는지, 실행 결과가 예상한 결과와 정확하게 맞는지를 검사하고 평가하는 단계
④ 배포: 상품이나 서비스가 생산자나 서비스 제공자로부터 최종 고객에게 이르는 과정에 개입되는 다양한 조직들 사이의 거래 관계를 설계하고 전달 및 운영하는 단계
⑤ 운영: 시스템을 구매 후 일어나는 프로그램 오류 수정, 시스템 디자인 수정, 새로운 요구사항, 시스템 환경변화에 대한 교정 등 일련의 과정을 수행하는 단계
SSDF 구현을 위한 공급망 보안 권장 활동
① 조직 준비 (PO)
② SW 보호 (PS)
③ 보안성 높은 SW 제작 (PW)
④ 보안취약점 대응 (RV)
NShiftKey
국내 기업이 자체 개발한 DevSecOps(개발·보안·운영) 시스템으로, SW 앱으로 일반에 공개함. ) ‘Let’s shift left’ 전략으로 서비스의 기획부터 출시까지 각 단계에서 필요한 보안 요소들을 산출하고, 자체 기술을 적용하여 운영하고 있음.
SBOM
SBOM은 SW 구성요소를 서술하는 일종의 메타 데이터로 SW 전체의 구성요소를 목록화한 것이다.
SBOM 데이터 필드의 기본항목
① 공급자명: 구성요소를 생성하고, 정의 및 식별한 주체의 이름
② 타임스탬프: SBOM 데이터로 변환(Assembly)한 날짜 및 시간 기록
③ 저작권자: 구성요소에 대한 SBOM 데이터를 생성하는 주체의 이름
④ 구성요소명: 최초 공급자에 의해 정의된 SW 단위에 할당된 명칭
⑤ 버전: 이전 버전으로부터 SW의 변경 사항을 지정하는 데 사용하는 식별자
⑥ 고유 식별자: 구성요소를 식별하는 데 사용되거나 관련 DB의 조회 키(Look-up Key) 역할을 하는 기타 식별자
⑦ 종속성 관계: 상위(Upstream) 구성요소 X가 SW Y에 포함된다는 관계를 특정함
SBOM 기반 공급망 보안 관리 실증 절차
SBOM 생성 도구 현황 및 주요 특징
① 소스코드 분석 방식: SW 컴포넌트를 분석하여 공개 SW 라이선스 및 알려진 보안취약점 등 탐지
② 바이너리 분석 방식: 정적·동적 분석엔진을 통해 바이너리 코드만으로 보안위험 탐지
'보안 > 개념' 카테고리의 다른 글
소프트웨어 개발보안 가이드(21.12) 개념 추출 (0) | 2024.06.27 |
---|---|
공개SW를 활용한소프트웨어 개발보안 점검가이드(19.06) 개념 추출 (0) | 2024.06.27 |
고통의 피라미드(Pyramid of Pain) 총정리 (0) | 2024.06.13 |
국정원 관리실태 평가 (1) | 2024.04.01 |
쿠버네티스(Kubernetes) 총정리 (1) | 2024.02.28 |