Culture/etc 해킹지식

정보보안 스터디 - 35주차 2일 - 공급망 공격과 SBOM 관리 방안

wonder12 2023. 6. 10. 01:19

 

 

 

소프트웨어 공급망 공격

 

원래 보안시스템은 신뢰할 수 있는 사람만 오도록 합니다.

따라서 공격자가 일반적인 방법으로는 EDR 등 행동 탐지되므로 내부망 공격이 어렵죠.

 

 

하지만 공급망 공격이라는 방법도 있습니다.

현실에서 택배도 의심없이 보안 통과하는 것처럼
오픈소스 소프트웨어에 악의적 심겨놓고 기다립니다.
공격자가 공격하기 너무 좋습니다.

사례)
log4j 라이브러리
로그를 남기는 걸 좋아아는 개발자들이 개발된 라이브러리를 가지고 만들려고 합니다.
소프트웨어기도 하지만 오픈소스입니다.
전세계에서 누가쓰는지 관리 못합니다.

 

이 사태가 터졌을 때는 우리 제품에서 사용되는지 명확히 확인하는 게 우선시였습니다.

가전제품 embedded방식으로도 사용되고 있어서 무시할 수 없습니다.
안쓰느 데가  없을 정도로 이제 필수입니다. (36퍼 > 현재 우리나라 80퍼, 글로벌 90퍼)

AI도 마찬가지로 오픈소스를 사용할 수 밖에 없죠.

따라서 오픈소스는 안전하지 않습니다.
이거 써도되냐? 했을 때 위험요소가 너무 많습니다.
잘 관리되고 있거나 유지보수 되고 있는 라이브러리는 매우 적습니다.

한국 heartbleed 2위,  한 번 들여오면 오픈소스 평균 수명 6년

최초에는 보안 확인하더라도 유지 보수가 잘 될 수가 없습니다.
하지만 현재는 변화중입니다.

1. 정부의 적극적인 개입, 
2. 무결성 신뢰성 공급사에게 책임 요구 중


개발자가 모든 과정에서 보안을 적용하겠다는 겁니다.

요구사항 > 어떻게 만들지 설계 > 구현 시 내포 취약점 확인  > 테스트단계에서 한번 더 감사 > 운영 - 내부 서버 등 시스템 추적관리



오픈소스는 보통
1. 소스코드 형태.
그대로 가져오는 방식입니다.
버전관리 형태로
오픈소스 다양한 참가자들이 수정합니다.
그렇게 많지는 않지만 여전히 존재합니다.

2. 한 번 빌드 후 > 바이너리 형태.
이클립스 등 IDE에서 다운받아서 라이브러리 추가, 연결합니다.
더 안정적이라 선호됩니다.

3. 패키지 매니저
포장된 형태.
소프트웨어 저장소에 저장된 형태입니다.
이것들을 자동화할 수 있도록 하는 도구

어떤 바이너리를 넣을지 걱정하거나,

라이브러리 실체에 대해 걱정할 필요가 없습니다.

nuget, java - maven 등


how 보안 관리
개발단계 - 소스코드 약점.
결국 소스코드 형태의 제품이므로 소스코드 점검 해야합니다.
효율성이 높습니다.

소스코드 개발단계에서 하는 게 수정하는 것보다 비용 절감됩니다.
예를 들어 한국에서는 소프트웨어 개발보안, python, js 시큐어코딩 가이드 등의 양식을 적용하고 있습니다. 

 

의존성 고려 - 그 안에 오픈소스 소프트웨어 있을 수 있는데 그것도 안전한가? 입니다.
SBOM: software bills of materials 
성분표 나열, 업데이트 사항 일일이 명시.
소프트웨어에 위험한 게 포함되어있는지 확인 가능합니다.

 

소프트웨어랑 같이 SBOM도 태어나고
주기적으로 반복해야합니다.
오픈소스는 내일이라도 취약점 발견될 수 있기 때문에 상시 모니터링이 필요합니다.

개발사에 SBOM 생성 요구 후, 활용할 예정입니다.
확실한 건 신뢰의 근거를 확인하는 것입니다. 안전한거 맞아? 주고받아야지만 됩니다.

이러한 체계, 절차가 필요합니다.

---

보통 소스코드는 처음부터 짜는 게 아니라 프레임워크처럼
공급자의 재료가지고 라이브러리로 개발합니다. 
네트워크를 통해 배송됨

SBOM은 설계단계부터 유지보수까지 전단계에 거쳐서 고려되어야함.

미국은 의무. 행정명령. 국내는 의무x
ex) 솔라윈즈, 송유관해킹 


현재 사용하는 오픈소스의 76 > 48퍼 고위험군 취약점 포함되고 있습니다.

 

핵심 요소:

작성한 사람. 공급업체랑 다를 수 있음.

시간. timestamp

공급업체.

component 식별할 이름

버전

unique indentifier

구성끼리 연관성

소프트웨어 안전성 보장.



수동으로 할 수 없어서
자동화도 적용할 수 있습니다.

 

업계 표준 

SPDX ~2.3v 가장 많은 정보. 업계 표준.

CycloneDX - OWA 상대적으로 가볍고, VEX 취약점 악용가능성, 하드웨어관련 정보, 운영 관련까지

SWID - 라이프사이클에 따라서 태그담. 설치 전, 설치 후, 업데이트 시 태그.

 

핵심은

devops
=모든 과정에서 보안 적용해야 된다!

앞으로는 SBOM을 활용해서. 절차 표준을 지켜라.

입니다.