DOI QR코드

DOI QR Code

A Study on the Improvement Method of Deleted Record Recovery in MySQL InnoDB

MySQL InnoDB의 삭제된 레코드 복구 기법 개선방안에 관한 연구

  • 정성균 (고려대학교 정보보호대학원 정보보호학과) ;
  • 장지원 (고려대학교 정보보호대학원 정보보호학과) ;
  • 정두원 (고려대학교 정보보호대학원 정보보호학과) ;
  • 이상진 (고려대학교 정보보호대학원)
  • Received : 2017.05.24
  • Accepted : 2017.08.16
  • Published : 2017.12.31

Abstract

In MySQL InnoDB, there are two ways of storing data. One is to create a separate tablespace for each table and store it separately. Another is to store all table and index information in a single system tablespace. You can use this information to recover deleted data from the record. However, in most of the current database forensic studies, the former is actively researched and its structure is analyzed, whereas the latter is not enough to be used for forensics. Both approaches must be analyzed in terms of database forensics because their storage structures are different from each other. In this paper, we propose a method for recovering deleted records in a method of storing records in IBDATA file, which is a single system tablespace. First, we analyze the IBDATA file to reveal its structure. And introduce delete record recovery algorithm which extended to an unallocated page area which was not considered in the past. In addition, we show that the recovery rate is improved up to 68% compared with the existing method through verification using real data by implementing the algorithm as a tool.

MySQL InnoDB에서는 데이터를 기록할 때, 테이블마다 테이블스페이스를 분할 생성하여 개별적으로 저장하는 방법과 모든 테이블 및 인덱스 정보를 단일 시스템 테이블스페이스에 저장하는 방법이 있다. 그리고 이렇게 기록된 정보들을 이용해 삭제된 데이터를 레코드 단위로 복구하는 것이 가능하다. 하지만 현재 진행된 대부분의 데이터베이스 포렌식 연구에서 전자의 경우는 연구가 활발하게 이루어져 그 구조에 대한 분석이 많이 이루어졌지만, 후자에 대해서는 아직 공개된 정보가 포렌식에 활용되기엔 충분치 않다. 위의 두 방식은 각각의 저장 구조가 서로 다르기 때문에 데이터베이스 포렌식 관점에서 본다면 둘 모두에 대한 분석이 이루어져야 한다. 본 논문에서는 단일 시스템 테이블스페이스인 IBDATA 파일에 레코드를 저장하는 방식에서의 삭제된 레코드 복구 방법을 제시한다. IBDATA 파일을 분석하여 그 구조를 밝히고 이를 활용하여 기존에 고려되지 않았던 미할당 페이지 영역까지 확장한 삭제 레코드 복구 알고리즘을 소개한다. 또한, 알고리즘을 도구로 구현하여 실제 데이터를 이용한 검증을 통해 기존 방법보다 복구율이 68%까지 향상되었음을 보인다.

Keywords

References

  1. D. C. Lee and S. J. Lee, "Research of organized data extraction method for digital investigation in relational database system," Journal of the Korea Institute of Information Security and Cryptology, Vol.22, No.3, pp.565-573, 2012.
  2. R. Harris, "Arriving at an anti-forensics consensus: Examining how to define and control the anti-forensics problem," Digital Investigation, Vol.3, pp.44-49, 2006. https://doi.org/10.1016/j.diin.2006.06.005
  3. Solid IT, DB-Engines Ranking [Internet], http://db-engines.com/en/ranking
  4. Oracle, Benefits of Using InnoDB Tables [Internet], https://dev.mysql.com/doc/refman/5.7/en/innodb-benefits.html
  5. H. K. Khanuja and D. S. Adane. "A framework for database forensic analysis," Computer Science & Engineering, Vol.2, No.3, p.27, 2012. https://doi.org/10.5121/cseij.2012.2303
  6. P. Fruhwirt, M. Huber, M. Mulazzani, and E. R. Weippl, "Innodb database forensics," Advanced Information Networking and Applications (AINA), 2010 24th IEEE International Conference on., IEEE, pp.1028-1036, 2010.
  7. P. Fruhwirt, P. Kieseberg, S. Schrittwieser, M. Huber, and E. Weippl, "InnoDB database forensics: Enhanced reconstruction of data manipulation queries from redo logs," Information Security Technical Report, Vol.17, No.4, pp.227-238, 2013. https://doi.org/10.1016/j.istr.2013.02.003
  8. J. Wagner, A. Rasin, and J. Grier, "Database image content explorer: Carving data that does not officially exist," Digital Investigation, Vol.18, pp.S97-S107, 2016. https://doi.org/10.1016/j.diin.2016.04.015
  9. W. S. Noh, S. M. Jang, C. H. Kang, K. M. Lee, and S. J. Lee, "The Method of Deleted Record Recovery for MySQL MyISAM Database," Journal of the Korea Institute of Information Security & Cryptology, Vol.26, No.1, pp.125-134, 2016. https://doi.org/10.13089/JKIISC.2016.26.1.125
  10. J. Jang, D. Jeoung, and S. J. Lee, "The Recovery Method for MySQL InnoDB Using Feature of IBD Structure," KIPS Transactions on Computer and Communication Systems, Vol.6, No.2, pp.59-66, 2017, DOI: 10.3745/KTCCS.2017.6.2.059.
  11. Oracle, InnoDB Tablespaces [Internet], https://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace.html