Jupyter 노트북은 오픈 소스 웹 애플리케이션으로 웹 브라우저를 통해 코드를 실행하고 결과를 확인할 수 있습니다. 웹 기반 도구가 주는 편의성은 양날의 칼과 같습니다. 어디서나 편하게 작업을 할 수 있다는 편리함의 이면에는 사이버 위협의 타깃이 될 수도 있다는 위험도 있습니다.
당신은 Jupyter 노트북 환경은 안전한가요?
Jupyter 노트북 관련해 생각해 볼 수 있는 보안 위험은 크게 다음과 같이 나누어 볼 수 있습니다.
코드: Jupyter 노트북에서 작성한 코드는 노트북 파일에 저장됩니다. 따라서 노트북 파일이 다른 사람에게 노출될 경우 코드가 유출될 수 있습니다. 특히 기업에서 Jupyter 노트북을 사용하는 경우 중요한 코드나 데이터가 노출될 수 있어 보안 위험이 될 수 있습니다.
라이브러리: Jupyter 노트북에서 외부 라이브러리를 사용하는 경우가 많죠. 만에 하나 보안 취약점이 가진 라이브러리를 쓸 경우 의도치 않게 위험에 노출될 수 있습니다. 따라서 노트북에서 사용되는 모든 라이브러리는 보안 취약점 검토를 거쳐야 합니다.
웹 브라우저: Jupyter 노트북을 사용할 때 웹 브라우저를 사용합니다. 따라서 웹 브라우저의 보안 취약점이 노출될 경우 Jupyter 노트북에서 작성한 코드가 유출될 가능성이 있습니다.
권한: Jupyter 노트북을 사용할 때 사용자별로 권한을 관리할 수 있어야 합니다. 특히 기업에서는 민감한 데이터나 코드가 노출되지 않도록 권한 관리를 철저히 해야 합니다.
NVIDIA 레드팀이 개발한 Jupyter 노트북용 보안 평가 프로그램 'jupysec'
규모가 큰 조직의 경우 보안 팀에 레드팀을 둡니다. 레드팀은 흔히 이야기 하는 취약점 평가나 실제 공격자가 사용하는 도구, 기술, 절차를 적용한 침투 테스트를 합니다. NVIDIA도 레드팀이 있는데요, 이 팀이 최근 Jupyter 노트북을 위한 확장 프로그램을 만들어 공개했습니다. 이 프로그램의 이름은 jupysec입니다. 이 프로그램이 하는 일은 Jupyter 노트북 환경의 보안 평가입니다. 잠재적 취약성, 공격 벡터 및 손상 지표 등을 적용해 식별한 아티팩트를 감지하기 위해 100개 이상의 룰을 적용해 평가를 합니다. 룰은 지속해서 추가될 것이라고 하네요. 이 확장 프로그램은 깃허브 페이지에서 받아 사용할 수 있습니다.
jupysec은 독립 실행형 스크립트 또는 JupyterLab 확장으로 사용할 수 있습니다. 이 확장 프로그램은 Launcher에 Security Report 위젯을 추가합니다. 이는 사용자의 웹 브라우저에서 실행되는 확장 프로그램의 클라이언트측 구성 요소입니다. 사용자가 이 위젯을 클릭하면 Jupyter 클라이언트가 HTTP/GET 요청을 Jupyter 서버로 보냅니다. 서버는 요청이 인증된 사용자로부터 오는지 확인하고 jupysec 룰을 실행하고 평가 결과를 사용자에게 반환합니다.
Jupyter 노트북을 기업에서 사용하는 경우라면? jupysec을 꼭 한번 써보십시오. 이 확장 프로그램을 조직의 데이터 과학 또는 인공 지능 개발 워크플로우에 적용하면 보안에 대한 걱정을 조금이나마 덜 수 있습니다.
Σχόλια