일상/IT

인공지능 회사가 소프트웨어 공급망 취약점의 피해자가 되었을 때 발생하는 일

얇은생각 2023. 11. 29. 07:30
반응형

2023 3 20, OpenAI는 몇 시간 동안 인기 있는 생성 AI 도구 ChatGPT를 다운시켰는데, 이후 운영 중단 원인이 오픈소스 인메모리 데이터스토어 라이브러리 '레디스'에서 비롯된 소프트웨어 공급망 취약점이라고 인정했습니다 

이 취약성으로 인해 사용자가 실수로 다른 사용자의 채팅 기록 제목에 액세스하여 이름, 이메일 주소, 결제 주소, 신용 카드 유형 및 결제 카드 번호의 마지막 네 자리와 같은 결제 관련 정보를 노출할 수 있는 시간대가 발생했습니다.

이는 비교적 경미한 버그로, 빠르게 포착되어 패치가 적용되었습니다. ChatGPT 및 기타 생성적인 LLM의 인기 상승을 고려할 때, 보다 표적화된 소프트웨어 공급망 공격의 결과는 무엇일까요? 

이 글에서는 3 20일에 정확히 무슨 일이 일어났고 사용자 정보는 어떻게 노출되었는지 알아보겠습니다. 또한 더 심각한 잠재적 공격에 대한 짧은 상상의 여행을 통해 어떤 정보가 노출될 수 있으며 이러한 경우를 방지하는 데 도움이 되는 조치가 무엇인지 알아보겠습니다. 귀사가 어떤 소프트웨어를 개발하고 있는지에 관계없이 관련이 있을 수 있는 몇 가지 일반적인 소프트웨어 공급망 보안 제안을 끝으로 마치겠습니다.

 

 

인공지능 회사가 소프트웨어 공급망 취약점의 피해자가 되었을 때 발생하는 일

 

 

일어난 일

다른 거의 모든 소프트웨어 회사와 마찬가지로 OpenAI의 코드는 오픈 소스 라이브러리와 코드에 적지 않게 의존합니다. 이 경우 이 버그는 Redis 클라이언트 오픈 소스 라이브러리 redis-py에서 발견되었습니다. 회사 자체 재검표에 나와 있는 버그에 대한 설명은 다음과 같습니다:

OpenAI Redis를 사용하여 요청할 때마다 데이터베이스를 확인할 필요가 없도록 해당 서버의 사용자 정보를 캐시합니다.

Redis 클러스터는 여러 Redis 인스턴스에 이 로드를 분산하는 데 사용됩니다.

Redis-py 라이브러리는 Asyncio와 함께 실행되는 회사의 Python 서버에서 Redis와 인터페이스하는 데 사용됩니다.

라이브러리는 서버와 클러스터 간의 공유 연결 풀을 유지하고 연결을 재활용하여 한 번 수행한 후 다른 요청에 사용합니다.

Asyncio를 사용할 때 redis-py가 있는 요청과 응답은 두 개의 큐로 동작합니다. 발신자는 수신 큐에 요청을 푸시하고, 발신 큐에서 응답을 팝핑한 다음 연결을 풀로 반환합니다.

요청이 수신 큐에 푸시된 후 송신 큐에서 응답이 팝업되기 전에 취소되었다고 가정합니다. 이 경우에는 연결이 손상되고 관련 없는 요청에 대해 풀된 다음 응답은 연결에 남겨진 데이터를 수신할 수 있습니다.

대부분의 경우 복구할 수 없는 서버 오류가 발생하며, 사용자는 요청을 다시 시도해야 합니다.

그러나 경우에 따라 손상된 데이터가 요청자가 예상했던 데이터 유형과 일치하기 때문에 캐시에서 반환되는 데이터가 다른 사용자에게 속하더라도 유효한 것으로 보입니다.

3 20일 월요일 태평양 시간 오전 1, OpenAI는 실수로 서버에 변경 사항을 도입하여 Redis 요청 취소가 급증했습니다. 이로 인해 각 연결이 잘못된 데이터를 반환할 확률이 usual보다 높아졌습니다.

 

이 특정 버그는 Redis Cluster Asyncio redis-py 클라이언트에만 나타나 이후 OpenAI 엔지니어와 Redis 라이브러리 유지 관리자의 통합 작업으로 수정되었습니다.

이 버그는 다른 활성 사용자의 검색 제목 및 해당 사용자의 결제 정보의 일부를 실수로 노출시킬 수 있으며, 일부 사용자는 현재 개인 재정에 대한 전체 또는 부분적인 통제권을 ChatGPT에 부여하여 이 정보의 노출이 잠재적으로 재앙적인 결과를 초래할 수 있습니다.

 

 

일어날 수 있는 일

이 경우 오픈 소스 라이브러리 Redis에서 OpenAi가 물려받은 소프트웨어 공급망 버그는 비교적 단순하고 쉽게 패치될 수 있습니다. SolarWinds에 방문한 것과 유사한 타겟 소프트웨어 공급망 공격이 발생하고 상당 기간 동안 발견되지 않은 상태로 남아있는 더 심각한 시나리오를 상상해 보십시오. 예를 들어 몇 달 동안.

사용자가 LLM에 대한 보다 직접적인 액세스를 위해 OpenAI를 지불하고 있기 때문에 이러한 공격은 잠재적으로 지불 데이터를 포함하여 클라이언트의 정보를 노출시킬 수 있습니다. 그러나 이는 가상 해커 그룹이 관심을 가지는 정보가 아닙니다. ChatGPT는 현재 11 6천만 명의 사용자를 가지고 있습니다. 2023 3월에 10억 명을 돌파했습니다. 이 숫자는 2023 2월부터 2023 3월까지 거의 55%의 증가를 나타냅니다. 수많은 사람들이 이제 예술에서 역사 숙제, 재정에 이르기까지 모든 것에 생성 AI를 사용하고 있는 상황에서 OpenAI의 데이터베이스에 대한 제한 없는 액세스는 셀 수 없는 사용자들에 대한 잠재적인 협박 정보를 노출할 수 있습니다. 블랙 미러 에피소드 '닥치고 춤춰'(시즌 3, 에피소드 3, 2016)는 이러한 명백한 정보가 부도덕한 사람들의 손에 들어가는 길을 찾는 것에 꽤 좋은 상상의 결과를 제공합니다. 보다 실제적인 유사점을 찾고 있다면 2015년의 애슐리 매디슨 데이터 유출은 심각한 결과를 가져왔고, 그 중 일부는 수년이 지난 후에도 여전히 관련이 있습니다.

상상의 해킹에서 조금 더 나아가 이 이름 없는 해커 그룹이 OpenAI 데이터베이스에 접근할 수 있을 뿐만 아니라 요청 결과에도 영향을 미칠 수 있다고 이야기해 보겠습니다.

수백만 명의 사람들이 해커 집단에 의해 맞춤 제작된 금융관련 조언을 받을 수 있다는 가능성을 상상할 수 있습니까? 아니면 우리의 불가사의한 해커 집단으로부터 잘못된 보안 검색 정보나 코드 테스트 정보를 다시 얻을 수 있다는 가능성을 상상할 수 있습니까? ChatGPT가 이제 인터넷에 접속할 수 있게 되었다는 사실은 OpenAI의 서버에 들어가거나 나가는 정보를 일반적이고 무해한 데이터 그 이상으로 숨기는 것을 훨씬 쉽게 해줍니다. 여기까지 하겠습니다만 성공적인 LLM에 대한 소프트웨어 공급망 공격이 초래할 수 있는 엄청난 잠재적 피해를 보실 수 있을 것 같습니다.

 

 

자신과 소프트웨어 공급망을 보호하는 방법

자신을 보호하기 위해 할 수 있는 가장 먼저 할 수 있는 일 중 하나는 의심의 눈초리를 날카롭게 하는 것입니다. 도구가 하는 일, 잠재적으로 할 수 있는 일, 리소스에 액세스할 수 있는 모든 권한을 보장하지 않는 한 아무리 좋은 도구라도 암묵적으로 신뢰하지 마십시오. 오픈 소스 버전의 ChatGPT를 로컬에서 실행할 수 있는 옵션을 통해 교육 정보와 해당 도구가 가진 액세스 수준 모두에 더 많은 권한을 얻을 수 있습니다.

소프트웨어 공급망에서 발생하는 일에 대한 투명성을 높이고 파이프라인을 구축하는 것도 좋은 방법입니다. 각 빌드에 대해 SBOM으로 시작할 수 있지만, 이는 한 단계일 뿐이며, 서버, 클라우드 또는 네트워크에서 발생하는 일의 투명성을 높이기 위해 할 수 있는 다른 많은 일이 있습니다.

 

 

인공지능의 미래

인공지능은 무엇을 하든지 간에 머물러 있습니다. 일상 생활에 대한 그것의 관여 수준은 추측의 문제이지만, 지난 6개월 만으로 볼 때, LLM 기술과 그것의 사용에 대한 잠재적인 분수령을 보고 있는 것이 확실해 보입니다. 인공지능이 코드와 천으로 된 앱의 생성을 '자연어'에서 올바른 프롬프트를 찾는 문제로 삼으면서, 우리는 제대로 테스트되지 않은 애플리케이션이나 그 사용자와 그것을 생성한 사람들 또는 회사 모두를 보호할 수 있는 적절한 보안 보호 장치가 없는 전례 없는 홍수에 직면할 수 있습니다.

진정한 정보원이 화면 뒤에서 우리의 말을 듣고 있을 때까지, 자신의 보안에 대처할 다른 방법을 찾아야 합니다. 신뢰의 전조로서 가시성을 홍보하는 것이 훌륭한 출발점이라고 생각합니다.

반응형