IT보안 학습

SW 공급망 보안 가이드라인 1.0(24.05) 개념 추출

김구티2 2024. 6. 26. 22:05

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 라이선스 및 알려진 보안취약점 등 탐지

② 바이너리 분석 방식: 정적·동적 분석엔진을 통해 바이너리 코드만으로 보안위험 탐지

728x90