본문 바로가기
반응형

파이썬4

파이썬 faker 모듈 사용하여 웹 서버 access log 만들기 최근 회사에서 관제 시스템 구축 사업을 맡아 진행하면서 웹 서버의 access log를 볼 일이 굉장히 많아졌는데, 머신러닝 라이브러리를 이용해서 이상 탐지를 구현하기 위해 테스트 데이터가 필요하게 되었다. 실제 운영 서버의 데이터를 이용하기에는 회사 정책적으로 조금 무리가 있었기 때문인데, 이 테스트 데이터를 어떻게 구현할까 하다가 파이썬의 faker 모듈을 사용하여 웹 서버의 access log를 비슷하게 만들어보고자 했다. 출처 - 보안프로젝트 유튜브 관련 자료를 찾다가 운이 좋게 얼마 전에 이미 보안 프로젝트의 조정원 대표님이 이와 관련된 영상을 유튜브에 찍어둔게 있어서 위의 영상을 참고하게 되었는데, 여기서 나는 URL 부분만 조금 다르게 변형시켜서 최대한 실제 access log와 유사하게 만.. 2023. 11. 21.
파이썬 개발자를 타겟으로 한 공급망 공격 주의 최근에는 많은 사람들이 첫 프로그래밍 언어로 파이썬을 가장 많이 배우실텐데요. 저희 때는 C 언어를 가장 먼저 접했었는데 문법의 직관성 뿐만 아니라 미리 구현된 함수나 라이브러리의 측면만 보더라도 이제는 첫 언어로 파이썬을 배우는게 확실히 좋을 것으로 생각됩니다. 심지어 많은 개발자들도 풍부한 라이브러리 덕분에 파이썬을 많이 사용하고 있는데, 요즘은 해커들이 개발자를 노리고 파이썬 라이브러리에 악성 요소를 넣어두는 공급망 공격을 시도하고 있죠. 그래서 이번에는 유명 보안 기업의 브랜드를 사용하여 파이썬 패키지를 사칭한 공급망 공격(Supply Chain Attack)에 대해 말씀드릴까 합니다. ​우선 앞서 설명드렸듯이 파이썬에는 개발자들이 미리 구현한 라이브러리들이 많습니다. 이런 기능을 가진 함수가 있.. 2023. 2. 13.
파이썬(Python) 모듈 동적 로딩하기 작년에 개인적으로 파이썬을 이용하여 안티바이러스를 구현하는 프로젝트를 진행했었다. 다른 것 보다도 특히 코드 보호에 신경을 쓰면서 구현했었는데, 여러 방법 중에서 자신이 만든 모듈을 동적으로 로딩하는 부분에 대해서 소개하고자 한다. 파이썬을 비롯한 다양한 언어에서 모듈 동적 로딩의 경우, 자신이 만든 코드를 남들에게 보이고 싶지 않을 때나 코드가 변조되어선 안되는 상황에서 많이 사용하게 된다. 내가 구현하는 프로젝트에서는 파이썬으로 제작한 모듈을 바이트 코드로 변환 후, 이를 암호화하여 배포하고 프로그램 실행 시 메모리에서 모듈을 복호화하여 동적 로딩을 통해 사용하도록 하였다. 물론 이 방법도 복호화하여 모듈을 로딩하는 순간에 pyc 코드를 별도로 저장하여 추출한 뒤 디컴파일 한다면 코드가 유출될 수 있.. 2022. 5. 7.
python에서 sqlite 사용하기 데이터베이스를 처음 배운다면 MySQL(또는 MariaDB)을 가장 많이 접하게 된다. 하지만 대부분의 규모있는 기업에서는 MySQL보다는 상업용인 Oracle 데이터베이스를 사용하고, 소규모나 로컬 프로그램에서는 sqlite나 tinyDB를 좀 더 많이 활용한다. 실제 내가 이전 회사에서 업무에 사용하고 있는 DB도 sqlite이며 굉장히 가볍게 사용할 수 있어서 편리했다. ​ sqlite는 데이터베이스 조작 언어(SQL)을 사용해 DB를 처리할 수 있어 널리 사용되며 안드로이드 및 iOS에서 표준으로 제공되고 있다. 다른 DB와 다르게 파일 하나가 하나의 데이터베이스로 처리되며, 별도의 DB 전용 앱을 사용하지 않아도 사용할 수 있다는게 큰 장점이다. 파이썬에서는 sqlite3라는 표준 라이브러리를 .. 2021. 12. 21.
반응형