CWN(CHANGE WITH NEWS) - 최고의 보안상태로 파이썬(Python)을 사용하는 방법은?

  • 안개안동14.6℃
  • 흐림충주16.6℃
  • 맑음봉화11.6℃
  • 맑음남해16.9℃
  • 맑음함양군13.3℃
  • 맑음제주19.3℃
  • 맑음임실13.8℃
  • 맑음태백9.4℃
  • 맑음고흥13.3℃
  • 맑음동해16.6℃
  • 맑음영광군13.8℃
  • 맑음속초18.7℃
  • 맑음경주시15.2℃
  • 맑음전주15.6℃
  • 맑음진도군14.7℃
  • 흐림제천14.4℃
  • 맑음추풍령13.2℃
  • 흐림영월15.5℃
  • 맑음의령군15.4℃
  • 박무인천17.8℃
  • 맑음통영18.0℃
  • 맑음파주14.1℃
  • 맑음서산13.9℃
  • 맑음남원13.4℃
  • 흐림이천16.2℃
  • 맑음합천15.6℃
  • 맑음강릉18.0℃
  • 맑음군산15.1℃
  • 맑음거제18.0℃
  • 맑음창원18.2℃
  • 맑음여수18.1℃
  • 맑음울산17.7℃
  • 맑음양산시17.7℃
  • 흐림보은13.2℃
  • 박무백령도19.6℃
  • 맑음울릉도17.9℃
  • 맑음부안14.9℃
  • 흐림천안13.7℃
  • 맑음구미15.3℃
  • 맑음밀양17.1℃
  • 박무대전15.0℃
  • 맑음광양시15.8℃
  • 흐림부여14.9℃
  • 맑음동두천15.3℃
  • 맑음보성군15.8℃
  • 맑음목포18.2℃
  • 맑음김해시17.8℃
  • 맑음순천12.0℃
  • 맑음장수12.6℃
  • 박무수원14.9℃
  • 흐림인제16.1℃
  • 맑음대구17.0℃
  • 맑음장흥15.0℃
  • 맑음대관령9.8℃
  • 맑음흑산도18.8℃
  • 맑음해남14.0℃
  • 맑음고창군15.3℃
  • 흐림순창군14.3℃
  • 맑음정읍14.7℃
  • 맑음서귀포20.5℃
  • 맑음문경14.3℃
  • 맑음북부산17.1℃
  • 흐림정선군14.6℃
  • 맑음강진군14.4℃
  • 맑음울진14.6℃
  • 맑음북강릉16.7℃
  • 맑음영덕15.8℃
  • 맑음광주16.4℃
  • 맑음완도17.8℃
  • 흐림의성15.5℃
  • 흐림홍천15.8℃
  • 맑음북창원18.2℃
  • 맑음보령15.6℃
  • 맑음영주12.2℃
  • 박무서울16.8℃
  • 흐림서청주15.2℃
  • 맑음춘천16.8℃
  • 맑음고산21.2℃
  • 맑음진주13.6℃
  • 맑음영천16.1℃
  • 맑음포항18.3℃
  • 흐림청송군14.8℃
  • 맑음상주13.8℃
  • 박무홍성13.8℃
  • 흐림세종14.7℃
  • 맑음강화15.0℃
  • 흐림원주14.9℃
  • 맑음성산18.7℃
  • 맑음고창13.7℃
  • 맑음거창12.9℃
  • 맑음산청13.9℃
  • 맑음철원15.0℃
  • 흐림양평15.3℃
  • 맑음부산20.9℃
  • 박무북춘천16.9℃
  • 흐림금산14.9℃
  • 박무청주15.6℃
  • 2025.10.01 (수)

최고의 보안상태로 파이썬(Python)을 사용하는 방법은?

안하영 / 기사승인 : 2022-07-20 11:54:44
  • -
  • +
  • 인쇄
파이썬을 사용하며 컴퓨팅 속도가 눈에 띄게 빠르거나 느린 게 눈에 보인다면 보안에 문제가 생겼을 가능성이 크다.
파이썬을 사용하며 컴퓨팅 속도가 눈에 띄게 빠르거나 느린 게 눈에 보인다면 보안에 문제가 생겼을 가능성이 크다.

코딩은 프로그램 개발과 더불어 최상의 보안상태로 유지해야 하는 것 까지 포함하는 개념이다. 아무리 훌륭한 기술을 개발했어도 코드가 도난당하거나 보안에 취약하면 무용지물이 되기 때문이다. 민감한 데이터를 보호하는 것은 애플리케이션을 개발하는 것만큼 중요하다.

애플리케이션 개발에 가장 많이 채택된 언어인 파이썬도 마찬가지다. 파이썬은 고급 언어로 특정 코딩 방식을 따르지 않는 한 외부 위협에 영향을 받지 않는다. 그럼에도 파이썬을 사용하며 컴퓨팅 속도가 눈에 띄게 빠르거나 느려졌다면 보안에 문제가 생겼을 가능성이 크다. 가장 최적의 보안상태로 파이썬을 사용하려면 어떻게 해야 할까. 인도의 인공지능, 빅데이터 전문매체 애널리틱스 인사이트(analyticsinsights)가 파이썬을 최상의 상태로 사용하는 방법을 소개했다.

버전 업데이트
소프트웨어 버전을 자주 업데이트 하는 게 좋다. 파이썬도 예외가 아니다. 예를 들어 파이썬 2와 3 버전을 비교할 때 3은 소프트웨어를 안전하게 유지할 수 있는 고급 보안 기능을 갖고 있다.

공유할 때 주의
개발자가 커뮤니티 리소스 PyPI(Python Package Index)에서 프로젝트를 가져올 때 취약점과 버그가 있을 가능성이 있다. PyPI는 채택자가 다운로드의 무결성을 확인할 수 있도록 패키지 유지 관리자에게 서명할 수 있는 옵션을 제공한다. 하지만 PyPI의 패키지가 보안 검토를 거치지 않는다는 사실은 몇 가지 위험 신호를 제기해야 한다.

입력 단계에서 주입 공격 확인
대화형 소프트웨어의 경우 사용자 입력으로 인해 소프트웨어가 특정 방식으로 작동할 수 있다. 때때로 매우 유용한 입력이 위험해져서 주입 공격이 발생할 수 있다. SQL(Structured Query Language) 공격은 인증 확인을 웹 포털에 대한 관리 액세스로 전환해 소프트웨어를 감염시키는 가장 일반적인 공격이다.

준비된 명령문 사용
준비된 문장 사용을 지원하는 데이터베이스는 SQL 인젝션과 같은 외부 위협으로부터 소프트웨어를 보호할 수 있다. MySQL, MSSQL과 같은 데이터베이스에서는 준비된 SQL 문장을 반복하면 성능이 향상될 수 있다. 파이썬도 이러한 명령문을 사용할 수 있다. 준비된 쿼리를 사용하면 사용자 제공 데이터와 SQL 쿼리를 구분해 SQL 쿼리의 무단 수정을 방지할 수 있다.

가상으로 전환
프로그래밍을 위해 가상으로 전환하면 소프트웨어를 안전하게 유지하는 것 이상의 장점이 있다. 파이썬 프로그래밍은 구성 파일, 라이브러리, 텍스트 문서, 이미지 파일, 음악 파일을 포함한 다양한 파일에 액세스해야 한다. 이러한 파일의 구성은 오프라인으로 작업할 때 다소 복잡할 수 있다. 가상 환경에서 프로젝트는 서로 격리된 상태로 유지돼 하나에 대한 액세스가 다른 프로젝트나 프로젝트에 영향을 미치지 않도록 할 수 있다.

비밀 공유 금지
인터넷에 중요한 정보가 저장되지 않도록 해야 한다. 개발자는 의도적이든 비의도적이든 파일에 인코딩한다. 테스트를 쉽게 하기 위해 인증을 사용해 비밀번호와 URL을 인코딩하는 것이다. 하지만 시간이 지나면 코드에 자리를 넘겨주는 악의적인 행위자의 손에 들어갈 수 있다.

필요한 것만 볼 수 있도록 하기
시행착오 주기 전반에 걸쳐 많은 디버깅 정보가 생성되며 이는 생산 주기에 상당히 해롭다. 따라서 중요한 디버깅 정보가 해커의 손에 넘어가지 않도록 개발 주기를 프로덕션 주기와 분리하는 것이 매우 중요하다.

파이크립토돔 암호화 수행
암호화에 파이크립토(Pycrypto)를 사용하는 것은 괜찮다. 취약한 것으로 밝혀지고 문제를 해결하기 위한 보안 업데이트가 릴리스 되지 않았기 때문에 도구를 포기하는 것이 좋다. 대신 암호화를 위해 pip install pycryptodome으로 이동해라.

밴딧 패키지 사용
각 파이썬 프로젝트에 대해 밴딧(Bandit)패키지를 사용해 추상 구문 트리에서 보고서를 가져온다. YAML(Yet Another Markup Language)의 일반적인 문제와 같은 취약점을 스캔하고 코드의 문제 라인을 강조 표시해 보안 위험을 낮음에서 높음으로 순위 지정하는 데 가장 적합하다.

서버 업데이트
많은 경우 업데이트가 필요한 것은 코드가 아니라 서버다. 파이썬 코드와의 호환성을 포함해 소프트웨어의 업데이트된 버전을 확인하는 것 외에도 업데이트된 보안 관리 시스템이 제자리에 있는지 확인하자.

파이썬 예제 [사진출처=파이썬 홈페이지]
파이썬 예제 [사진출처=파이썬 홈페이지]

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue