Geri Dön

Development of a static analysis tool to find security vulnerabilities in java applications

Java uygulamalarında güvenliğe ilişkin zayıflıkların bulunmasına yönelik bir statik analizinin geliştirilmesi

  1. Tez No: 266623
  2. Yazar: BERTAN TOPUZ
  3. Danışmanlar: YRD. DOÇ. DR. TUĞKAN TUĞLULAR
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Güvenlik sistemleri, Java, Statik analiz, Security systems, Java, Static analysis
  7. Yıl: 2010
  8. Dil: İngilizce
  9. Üniversite: İzmir Yüksek Teknoloji Enstitüsü
  10. Enstitü: Mühendislik ve Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: Belirtilmemiş.

Özet

Bu tez java uygulamalarinda bulunan güvenlik sınırlamaları saptanmasına yönelik statik analiz araçlarını geliştirmeyi amaçlamaktadır. Bu amaçla, java kaynaklı kodlarla ilgili varolan açıkların ortadan kaldırılmasına katkıda bulunacaktır.FindBugs, Jlint, PMD, Checkstyle ve ESC/Java2 yaygın olarak kullanılan statik analiz araçlarıdır. Bu çalışmada, Possible bugs (olası hatalar), Dead code (kullanılmayan kod), Suboptimal code (yetersiz kod), Overcomplicated expressions (karmaşık ifadeler) ve Duplicate code (ikinci kod) gibi hataların saptanmasına yönelik geliştirilmiş olan PMD statik analiz aracının kullanımı amaçlanmaktadır. Buna karşılık PMD'nin faults possible unexpected exception (olası beklenmeyen kural dışı durum), length may be less than zero(yapı boyutu sıfırdan küçük olabilir), division by zero (sıfıra bölünme), stream not closed on all paths (I/O için açılan katarın kapatılmaması) gibi açıkları bulamadığı saptanmıştır.Bazı hatalı kodları saptamasının yanında PMD'nin bulmaya çalıştığı hataların çoğu, biçimsel hatalara dayanmaktadır. Örnek olarak, try catch yapısındaki boş catch bloğunu gösterebilmektedir. PMD, programlama stiline bağlı olarak birçok algılayıcı kural içermektedir ve bu kuralları isteğe göre seçebilme özelliğine sahiptir. PMD'nin ana yapısı korunarak taşma zayıflıkları için yeni kurallar geliştirilmiştir.

Özet (Çeviri)

The scope of this thesis is to enhance a static analysis tool in order to find security limitations in java applications. This will contribute to the removal of some of the existing limitations related with the lack of java source codes.The generally used tools for a static analysis are FindBugs, Jlint, PMD, ESC/Java2, Checkstyle. In this study, it is aimed to utilize PMD static analysis tool which already has been developed to find defects Possible bugs (empty try/catch/finally/switch statements), Dead code (unused local variables, parameters and private methods), Suboptimal code (wasteful String/StringBuffer usage), Overcomplicated expressions (unnecessary if statements for loops that could be while loops), Duplicate code (copied/pasted code means copied/pasted bugs). On the other hand, faults possible unexpected exception, length may be less than zero, division by zero, stream not closed on all paths and should be a static inner class cases were not implemented by PMD static analysis tool.PMD performs syntactic checks and dataflow analysis on program source code. In addition to some detection of clearly erroneous code, many of the ?bugs? PMD looks for are stylistic conventions whose violation might be suspicious under some circumstances. For example, having a try statement with an empty catch block might indicate that the caught error is incorrectly discarded. Because PMD includes many detectors for bugs that depend on programming style, PMD includes support for selecting which detectors or groups of detectors should be run. While PMD?s main structure was conserved, boundary overflow vulnerability rules have been implemented to PMD.

Benzer Tezler

  1. Yazılım güvenliği test ve değerlendirme aracı geliştirilmesi

    Development of software security testing and evaluation

    GÜNCEL SARIMAN

    Doktora

    Türkçe

    Türkçe

    2015

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSüleyman Demirel Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ECİR UĞUR KÜÇÜKSİLLE

  2. Interregional Relations: Perspectives on the Summit of South American-Arab Countries 'New' patterns of engagement

    Bölgelerarasi ilişkiler: Güney Amerika - Arap Ülkeleri zirvesindeki“Yeni”angajman yapısı perspektifleri

    MARSHA MARİE HALL

    Yüksek Lisans

    İngilizce

    İngilizce

    2015

    Uluslararası İlişkilerOrta Doğu Teknik Üniversitesi

    Ortadoğu Araştırmaları Ana Bilim Dalı

    PROF. DR. MELİHA BENLİ ALTUNIŞIK

    DOÇ. DR. DERYA GÖÇER AKDER

  3. A reservoir engineering study for field development - An application to real field data

    Saha geliştirmede bir rezervuar mühendisliği çalışması - Gerçek saha verileri ile uygulama

    HARUN KIRMACI

    Yüksek Lisans

    İngilizce

    İngilizce

    2014

    Mühendislik Bilimleriİstanbul Teknik Üniversitesi

    Petrol ve Doğal Gaz Mühendisliği Ana Bilim Dalı

    PROF. DR. MUSTAFA ONUR

  4. The impact of static analysis tools on software quality, productivity and cost

    Statik analiz araçlarının yazılım kalitesine, üretkenliğe ve maliyet üzerine etkisi

    MEHMET YILDIZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolDoğuş Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ YASEMİN KARAGÜL

  5. Design and modelling of urban development areas with reference to historical settlements: case of Korça

    Tarihi yerleşme ögeleri referanslı şehir gelişme alanların tasarımı ve modellenmesı: Korça örneği

    EGIN ZEKA

    Doktora

    İngilizce

    İngilizce

    2020

    Şehircilik ve Bölge Planlamaİstanbul Teknik Üniversitesi

    Şehir ve Bölge Planlama Ana Bilim Dalı

    DOÇ. DR. MEHMET ALİ YÜZER