파일 제외?
특정 스크립트언어로 보안 모듈을 개발하고 돌리고 해당 스크립트에 압축해제가 있을 때, 특정 파일들만 압축이 안되는 경우가 있다.
개발 하면서 모두가 겪는 상황은 다르기 때문에 정확하게 말할 순 없지만 내가 처한 상황에서 생각 할 수 있는 것은
다음과 같다.
1. 해당 압축파일이 linux에서 사용하는 파일이라 메모리에 올린다음 가져와도 네이밍규칙 때문에 가져오지 못함.
2. 운영체제 입장에서 읽을 수 없는 파일이다.
3. 특정 조건 때문에 파일이 격리 되는 것 같다.
일단 1,2 번은 예외 처리 안해놓기도 해서 로직 내부에 따로 예외 처리를 해놨다.
특정 패키지를 메모리에 올리고 그대로 가져오는 방식이 대체적으로 일반적이지만 메모리 내부에 접근에서 이름 부분에 해당하는 부분을 수정해서 덮으면 이름도 변경이 가능은하다. 해당 방식으로 구현했으나 아직 승인은 못받았다.
2번은 원래 처음엔 운영체제 입장에서 지원하지 않으면 스킵하려고 했는데 그냥 바이트 단위로 읽어버리면 운영체제에 따른 예외처리가 일어나지 않기에 그냥 바이트 단위로 읽었다.
근데 출력값을 뿌려주는 것은 운영체제 인코딩 방식이 다르므로 원하는 글자가 깨진다면 인코딩을 다시하던가 하면 된다.
정확하게 다시 하고 싶으면 디코딩하고 인코딩하는식으로 해도 된다.
근데 둘다 하고 났는데도 계속 파일이 없었다.
진짜 이유를 한참 찾았는데 이런건 구글에 치기도 애매한게 갑자기 파일이 사라진다고 하면 누가 믿어줄까....
그래서 3번처럼 파일이 격리되는가?라는 생각을 한건데 머리를 계속 쓰다보니까 운영체제를 windows를 사용하다보니까 windows defender가 생각났다.
아니나 다를까 windows defender에서 해당 파일이 멀웨어 처럼 취급되서 자동으로 압축해제시 격리되는 것이었다.
windows defender는아래와 같은 사항들이 격리되거나 차단될 수 있다고 한다.
1. 알려진 악성코드 시그니처가 탐지되는 파일
2. 특정 비이상적인 코드 패턴을 가진 파일
3. 파일의 디지털 서명, 출처, 사용자 피드백 및 Microsoft 클라우드 분석 데이터를 종합하여 신뢰도가 낮은 파일
4. 알려지지 않은 파일도 격리나 차단될 가능성이 있다고 한다.
이 외에도 인트라넷에서 설정해놓은 파일도 격리될 수 있다고 하니 나중에는 삽질하지 말고 한번 씩은 떠올려보자....
'회사' 카테고리의 다른 글
[TIL 49] python subprocess의 대한 문제직면 (0) | 2025.02.26 |
---|