본문 바로가기
Security Essay

파이썬 개발자를 타겟으로 한 공급망 공격 주의

by _Jay_ 2023. 2. 13.
반응형

 

 

최근에는 많은 사람들이 첫 프로그래밍 언어로 파이썬을 가장 많이 배우실텐데요. 저희 때는 C 언어를 가장 먼저 접했었는데 문법의 직관성 뿐만 아니라 미리 구현된 함수나 라이브러리의 측면만 보더라도 이제는 첫 언어로 파이썬을 배우는게 확실히 좋을 것으로 생각됩니다.

 

심지어 많은 개발자들도 풍부한 라이브러리 덕분에 파이썬을 많이 사용하고 있는데, 요즘은 해커들이 개발자를 노리고 파이썬 라이브러리에 악성 요소를 넣어두는 공급망 공격을 시도하고 있죠. 그래서 이번에는 유명 보안 기업의 브랜드를 사용하여 파이썬 패키지를 사칭한 공급망 공격(Supply Chain Attack)에 대해 말씀드릴까 합니다.

​우선 앞서 설명드렸듯이 파이썬에는 개발자들이 미리 구현한 라이브러리들이 많습니다. 이런 기능을 가진 함수가 있을까라고 생각하셨을 때, 찾아보면 해당 라이브러리가 존재하기에 굳이 직접 구현하지 않고 가져다 사용하면 되죠. 보통 이 라이브러리가 PyPI(Python Package Index)라는 패키지 저장소에 있는데요.

 

개발자들은 이 PyPI에서 필요한 라이브러리를 다운로드하여 필요한 곳에 가져다 씁니다. 오픈소스처럼 이미 구현해 놓은 함수들을 사용할 수 있기에 굉장히 편리하죠. 하지만 내부 구조를 모른다면 개발자가 의도하지 않은 동작을 할 수 있다는 단점이 있습니다.

 

출처: utoimage


해커들은 이러한 점을 노려서 악성 행위를 하는 함수들을 모은 라이브러리를 만들어서 패키지 저장소에 올려둡니다. 심지어 해외의 유명한 보안 기업의 브랜드를 해당 패키지의 이름으로 올려놨기 때문에, 파이썬 개발자들은 해당 라이브러리가 보안에 도움을 주는 기능이 들어가 있을 것으로 착각할 수 있죠.

 

자신이 개발을 하는데 보안 기능이 필요하다면 검색을 통해 해커가 올려둔 패키지를 다운로드 받아 사용할 수도 있을텐데요. 이렇게 앱을 개발하는데 악성 요소가 포함된다면 해당 앱을 이용하는 많은 사용자들이 자신도 모르게 개인정보가 유출되는 등 피해를 입을 수 있을 겁니다.

 

 

보안 업체 이름 악용한 공급망 공격, 파이선 개발자들을 노렸다

아직 정체가 밝혀지지 않은 공격자 혹은 공격 단체가 악성 파이선 패키지를 PyPI라는 리포지터리를 통해 유포했다는 사실이 드러났다. 공격자들은 유명 보안 업체인 센티넬원(SentinelOne)을 사칭하

www.boannews.com

 

오늘 말씀드린 부분은 파이썬 패키지 저장소에서 특정 라이브러리를 다운로드 받아 사용하기 때문에, 일종의 공급망 공격으로 분류를 할 수 있습니다. 자신이 만든 앱에 악성 요소가 포함되어 있다는 것도 모를 수 있기에 오픈소스나 외부의 라이브러리를 사용할 때는 반드시 각 라이브러리 간에 디펜던시(Dependency)를 점검해야겠죠.

 

라이브러리를 의존성을 분석하다 보면 어떤 것들을 사용하는지 알 수 있기 때문에 내가 사용하려는 라이브러리에 악성 요소가 있는지 확인할 수 있으니 필수적이라고 할 수 있겠습니다. 이 부분에 대해서는 추후 더 자세히 말씀드리도록 하고, 이번 글은 여기서 끝내도록 하죠. 읽어주셔서 감사합니다.

 

 

반응형

댓글