Contents

Evaluating Explanation Methods for Deep Learning in Security

EuroS&P 2020

Alexander Warnecke, Konrad Rieck(德国布伦瑞克工业大学)

image-20211112155052060

Abstract

深度学习在安全中被越来越广泛地应用,但不幸的是,由于NN难以解释,其决策往往对于实践者来说是晦涩难懂的。

尽管ML社区开始对解释预测结果做出了一些努力,且有的被成功应用到了计算机视觉领域,在安全领域的应用却很少受到关注。

因此,“适用于安全领域的可解释性方法是什么样的,以及他们需要满足什么需求”仍是一个开放式问题。

It is an open question which explanation methods are appropriate for computer security and what requirements they need to satisfy.

在本文中,作者从计算机安全的角度设计了比较和评估可解释性方法的标准(涵盖了的属性有general和security-focused)。在这些标准的基础上,调研了6种常用的可解释性方法,在恶意应用检测、漏洞挖掘的安全应用上评价了他们的功效。

实验表明这几种方法的结果间存在明显的差异性,作者在此基础上给出了通用的选取和应用这些可解释性方法的建议。

Contents

Evaluating Explanation Without Ground Truth in Interpretable Machine Learning

arXiv’19, cite:24, PDF link: https://arxiv.org/pdf/1907.06831.pdf

F Yang, Texas A&M University(美国,得州农工大学)

Interpretable Machine Learning (IML)

  • Aiming to help humans understand the machine learning decisions.
  • IML model is capable of providing specific reasons for particular machine decisions, while ML model may simply provide the prediction results with probability scores.
image-20211101135321417
Core Idea of IML

A two-dimensional categorization

  • Scope dimension
    • global: the overall working mechanism of models -> interpret structures or parameters
    • local: the particular model behavior for individual instance -> analyze specific decisions
  • Manner dimension
    • intrinsic: achieved by self-interpretable models
    • post-hoc (also written as posthoc): requires another independent interpretation model or technique

Contents

上半年在实习没有更博,做了与手机指纹认证相关的项目,由于项目需要阅读了 AOSP 相应部分的源码,在这篇博文里做一个系统化的整理~

安卓生物识别架构

image-20210915222935702

Android Q(10) 开始引入了 BiometricManager,本文基于这一架构,结合最新的 AOSP 源码介绍安卓的指纹识别架构,侧重与发起指纹认证相关的方法(非其它生物认证方式或录入流程)。

Android Code Search: https://cs.android.com/


BiometricManager

frameworks/base/core/java/android/hardware/biometrics/BiometricManager.java

/**
 * A class that contains biometric utilities. For authentication, see {@link BiometricPrompt}.
 */
  • static final 成员变量:定义在 BiometricConstants 类中的 SUCCESS, ERROR_HW_UNAVAILABLE, ERROR_NONE_ENROLLED, NO_HARDWARE

  • 构造函数:传入 Context, IAuthService (Communication channel from BiometricPrompt and BiometricManager to AuthService)

    AuthService: System service that provides an interface for authenticating with biometrics and PIN/pattern/password to BiometricPrompt and lock screen.

    在系统层,根据认证类型注册相应的服务(FingerprintService, FaceService, IrisService),做检查权限等

  • 接口 Authenticators:认证类型的结合(e.g. DEVICE_CREDENTIAL | BIOMETRIC_WEAK),包含生物认证的强度(STRONG, WEAK),用于设备保护的非生物认证方式(DEVICE_CREDENTIAL: PIN, pattern, password)

  • canAuthenticate, hasEnrolledBiometrics 方法:检查设备是否支持生物识别身份验证,是否有录入的生物特征,以及相应的权限检查