Skip to content

Update expected leaks - #52

Open
L-Jubarah-upb wants to merge 73 commits into
secure-software-engineering:masterfrom
L-Jubarah-upb:master
Open

L-Jubarah-upb wants to merge 73 commits into
secure-software-engineering:masterfrom
L-Jubarah-upb:master

Conversation

@L-Jubarah-upb

Copy link
Copy Markdown
Contributor

No description provided.

Removed expected info flows from JSON file.
Updated documentation to reflect changes in data flow and leak status.
Updated the number of leaks in the documentation and adjusted log statements to prevent leaks.
Removed expected info flows related to SMS and device ID.
Added new source and sink information for data flow.
Updated the number of leaks in the documentation and added a comment indicating the log statement as a sink.
},
{
"Source": "android.app.Activity: android.view.View findViewById(int)",
"Source": "de.ecspride.PrivateDataLeak2: android.view.View findViewById(int)",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd keep android.app.Activity: android.view.View findViewById(int), even though the bytecode uses PrivateDataLeak2. Since this is a virtual call, referencing android.app.Activity isn't wrong.

Intent in = new Intent("com.example.deviceid_orderedintent");
in.putExtra("data", s);
sendOrderedBroadcast(in, null); //sink
sendOrderedBroadcast(in, null);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@number_of_leaks should be 0 in this file then

},
{
"Source": "android.app.Activity: android.content.Intent getIntent()",
"Method": "org.cert.echoer.MainActivity: void getDataFromIntent()",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update the Java code there as well? The //sink comment and the expected flow count should be updated.

if (resultCode == 0 && requestCode == 0 && data != null) {
if (data.hasExtra("secret")) {
if(data.getExtras().getString("secret") != null){ //sink
if(data.getExtras().getString("secret") != null){ //source

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*irrelevant source

{
if (requestCode == 1)
{
Bundle b = data.getExtras(); // source

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be a source anymore.

@Override
public void onClick(View arg0) {
cFuncDoTheMagic(getApplicationContext());
cFuncDoTheMagic(getApplicationContext()); // source, sink

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO: The expressiveness of our specification does not allow to specify the source/sinks here accurately.
@StevenArzt Your opinion?


try {
String string = "dIeciveDteg";
String string = "dIeciveDteg"; // source

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the source is:

			id = (String) method.invoke(telephonyManager);

"Line": 30
"Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()",
"Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)",
"Line": 54

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 63 (the one with the reflective method invoke)

.getSystemService(Context.TELEPHONY_SERVICE);
method = c.getMethod(string, new Class<?>[0]);

id = (String) method.invoke(telephonyManager);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the source.

method = c.getMethod(reverse, new Class<?>[0]);
Toast.makeText(this, "tele manager is executed", Toast.LENGTH_SHORT)
.show();
id = (String) method.invoke(telephonyManager);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the source.

@MarcMil

MarcMil commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Thanks for you contribution! I've added a few comments on things that should be improved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants