### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

It seems that it is possible to receive sns message in an sqs listener if there is a filterpolicy in place for null value in a message attribute, and a message is being sent without the message attribute.

### Expected Behavior

Don't recieve these type of messages

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

`sns subscribe --topic-arn "demoTopicArn"  --protocol sqs --notification-endpoint "demoSqsEndpoint" --attributes '{"RawMessageDelivery": "true"}'`
`sns set-subscription-attributes --subscription-arn demoSubsArn --attribute-name FilterPolicy --attribute-value '{"testForNull": [null,{"anything-but": ["notgood"]}]}'`
`sns publish --topic-arn demoTopicArn --message "testforrecieval"`
`sqs receive-message --queue-url  "demoUrl"`

### Environment

```markdown
- OS: macOS 13.6
- LocalStack: 2.2.0
```


### Anything else?

_No response_
topic_name = "test-duplicated-topic-more-tags"
        sns_create_topic(Name=topic_name)
        with pytest.raises(ClientError) as e:
            aws_client.sns.create_topic(Name=topic_name, Tags=[{"Key": "key1", "Value": "value1"}])
        snapshot.match("exception-duplicate", e.value.response)
    @markers.aws.validated
    def test_create_duplicate_topic_check_idempotency(self, sns_create_topic, snapshot):
        topic_name = f"test-{short_uid()}"
        tags = [{"Key": "a", "Value": "1"}, {"Key": "b", "Value": "2"}]
        kwargs = [
            {"Tags": tags},  
            {"Tags": [tags[0]]},  
            {"Tags": []},  
        ]
        
        response = sns_create_topic(Name=topic_name, Tags=tags)
        snapshot.match("response-created", response)
        for index, arg in enumerate(kwargs):
            response = sns_create_topic(Name=topic_name, **arg)
            
            snapshot.match(f"response-same-arn-{index}", response)
    @markers.aws.validated
    def test_create_topic_after_delete_with_new_tags(self, sns_create_topic, snapshot, aws_client):
        topic_name = f"test-{short_uid()}"
        topic = sns_create_topic(Name=topic_name, Tags=[{"Key": "Name", "Value": "pqr"}])
        snapshot.match("topic-0", topic)
        aws_client.sns.delete_topic(TopicArn=topic["TopicArn"])
        topic1 = sns_create_topic(Name=topic_name, Tags=[{"Key": "Name", "Value": "abc"}])
        snapshot.match("topic-1", topic1)
class TestSNSCrud: